Numerical control device for machine tools with provision for speed adjustment during motion

ABSTRACT

A numerical control device for such as machine tool operation in which position and speed of movement of the tool or the workpiece is automatically effected in accordance with a preset program and certain recorded pre-selected information. The control provides for movement generally in three phases: (1) acceleration to a predetermined maximum speed; (2) constant speed; and, (3) deceleration to zero speed. Also, adjustability of the maximum speed during movement is provided for.

United States Patent Pomella et al.

[451 July 31, 1973 NUMERICAL CONTROL DEVICE FOR MACHINE TOOLS WITH PROVISION FOR SPEED ADJUSTMENT DURING MOTION Inventors: Piero Pomella, Luciano Lauro,

both of IOOIS lvrea, Italy Assignee: lng. C. Olivett 8: C., S.P.A.,

Turin, Italy 1 Filed: Jan. 28, 1971 7 Appl. No.: 110,651

Related US. Application Data Continuation of Ser. No. 759,912, Sept. 16, 1968, abandoned.

Foreign Application Priority, Data Sept. l6, I967 Italy .[53043A/67 0.8. CI. 318/571 1111. Cl. G05b 19/24 Field ofSearch 318/571 ORDE RESE ORDE INIP sew 2 0 ORVO mm 1 Gm [5| 1 mm AUDI [56] References Cited UNITED STATES PATENTS 3,325,633 6/1967 Lulcens 3l8/57l X Primary ExaminerT. E. Lynch Attorney-Birch, Swindler McKie & Beckett [57] .1 ABSTRACT A numerical control device for such as machine tool operation in which position and speed of movement of the tool or the workpiecevis automatically effected in accordance with a preset program and certain recorded pre-selected information. The control provides for movement generally in three phases: (l) acceleration to a predetermined maximum speed; (2) constant speed; and, (3) deceleration to zero speed. Also, ad-

- justability of the maximum speed during, movement is provided for.

4 Claims,l3 Drawing Figures IMZ c050 ADIN STRO GIRI

DEO SOIN PATENTHJJULBI 1 3.749.995

' 4 sum 1 or 6 x1 xa xe x2 x VxM Pmmznw I 3.749.996

' sum am e Fig.7

Fig.8

Fig.9

INVENTORS PIERO POMEL A LUCIANO LAUR HIGH VOLTAGE HOLD DOWN CIRCUIT FOR HORIZONTAL DEFLECTION CIRCUIT This invention relates to electrical circuits and more particularly to deflection circuits of the type used to develop a high voltage.

In many horizontal deflection circuits, a damper diode is coupled across the horizontal output transformer primary winding to damp out oscillations which would occur due to the ringing caused by the flyback pulse during the retrace portion of each deflection cyv cle. The damper diode is poled to conduct when the flyback voltage swings across the zero voltage level. In adage. Such a multiplier is described in detail in a copending application Ser. .No.,8 ,02 6 entitled ULTOR you-A E SUPPLY," filed on' June 3,1969 and'assigned to the present assignee, now abandoned. When a multiplier circuit of this type is utilized in conjunction with any horizontal output deflection stage, it rectifies the peak-to-peak'voltage present at its input. If the damper diode is"open circuited, and therefore allows the flyback voltage to swing negative as well as positive, the peak-to-peak voltage appearing at the input to the voltage multiplier may rise causing the output voltage to rise to an excessively high value (for example, 40,000 volts ascompared to the normal 26,500 volts). If the jultorvoltage reaches thislevel, the phosphor on theface of the kinescopewill be destroyed due to the impacting highenergy' electrons. Also, an X-radiation hazard may exist. Thus, it is important to hold the high voltage to a safe level if the damper diode fails.

The damper diode may become open circuited due to an electrical failure within the device. More commonly, however, when diodes'are utilized which are mechanically clipped into the horizontal'output stage,

it is possible during servicing that the diode is either not replaced, or a faulty electrical connection is made at the mechanical terminals.

It is therefore an objectof the present invention to prevent the ultor voltage from reaching'an excessive level in a deflection output stage utilizing a high voltage U.S. Pat. No. 3,697,800 and assigned to the present assignee. In the circuitry of that application, a hold down voltage was applied directly to a control electrode of an output device in the liorizontaloutput stage. In certain circuits, such as the two silicon controlledrectifier type shown in that application; although thefprotection circuit operates to prevent damage to the color'kinescope, in some instances the'silicon controlled rectifier was destroyed due to excessive gate currentldrawnby the protection diode during the failure mode'of operation,

during kinescope arcing or during the initial applica-; tion of operating power to the receiver. The circuit of em invention.

voltage supply at a safe level in the event of the loss of conduction of the damper diode without damaging the horizontal output active device.

' Deflection circuits embodying the present invention are of the-type employing a deflection signal generator, which may. include suitable'automatlc phase and frequency control apparatus, driving a power output stage which includes means for developing a high voltage from the flyback pulse developed in the circuit. The power output stage includes a diode to provide a conduction path for deflection current during a portion of I each deflection cycle. In the event the diode op ens,'the direct voltage level at a point in the power output stage changes and is used to alter the frequency of operation of the deflection signal generator to prevent the generation of an excessive high voltage. It is contemplated that the frequency of the deflection signal generator can be altered to zero frequency.

The operation of the present invention can be best .understood by referring to the sole FIGURE and description thereof in which:

FIG. 1 is a circuit diagram partly in schematieand block form of a television receiver embodying the pres In FIG. 1, the t elevisionreceiver includes an antenna 10 which receives composite television signals and couples them to a tuner second detector stage 11. This stage normally includes a radio frequencyamplifier for amplifying the received signals,a mixeroscillator'for converting the amplified radio frequency signals to intermediate frequency signals, an intermediate fre' quency amplifier; and a detector forder'iving compos-' ite television signals from the intermediate frequency signals. The output of stage 11 is coupled toa videoamplifier l2v which amplifies the synchronization, and brightness representative portion of the composite television signalsand applies these signals to a control elec-- trode (e.g., the cathode) of a television kinescope 13. The composite televisionsignal from video amplifier 12 is also applied to a synchronizing signal separator circuit 14 which separates the synchronization signals from-the video signals, and also separates the vertical and the horizontal synchronizing signals. The separated vertical synchronizing signals are coupled from sync separator stage 14 to a vertical deflection generator 15 which develops vertical frequency signals. The output of vertical deflection generator-15 is coupled to the vertical output circuit 16. which provides the required vertical deflection current to a vertical deflection wind-- which is also supplied with a second signal related in, time occurrence to the'operation of a horizontal oscil-.

lator 19 by means ofa secondary winding 50.: ona horizontal output transformer 50. An error voltage is.devel-. oped in the phase comparator l8 and is applied to a horizontal oscillator stage to synchronize the horizontal oscillator frequency to that of the horizontal syn- Horizontal oscillator stage 100 includes a transistor 150 having a base terminal 150b, a collector terminal chronizing pulses.

1500 and an emitter terminal 150:. The emitter terminal 150a iscoupled directly to ground. Oscillator 100 is of the blocking oscillator type employing a transthe present invention, however, will maintain the high I former having a first winding 122 with a first terminal coupled to the, base terminal 150b of transistor 150 winding 126 on'transformer 120 has a first terminal coupled directly to ground and a second terminal coupled to thehorizontal output stage 25 by means of a coupling capacitor 152.

A regulated voltage supply employed to provide operating power for the oscillator comprises a voltage dropping resistor 130 coupled from a voltage source (8+) to a voltage regulating device such as a Zener diode 132. The Zener diode 132 is bypassed by a filter capacitor 134. Terminal point A which is coupled to .the junction of the voltage dropping resistor 130 and the Zener diode 132 is thereby maintained at a relatively constant voltage'indicatedas+V in the FIGURE during normal operation. I

As well as supplying the operating voltage for the transistor 150,: this regulated voltage supply (+V) supplies'the charging currentwhich flows through the series combination of resistors 140, 142, 144, 146 and.

148. to charge capacitor 149 in the polarity shown in the diagram to develop theturn on voltage for transistor 150. Adjustable resistor 144 is the frequency limit-- ing resistor, whereas'adjustable resistor 142 is the horizontal hold control for finely adjusting the exact frequency of the horizontal oscillator 100. Thermistor 141 is coupled from the junction of resistors 140 and 142 to ground, and a capacitorv 143 is coupled from the junction of resistors 142 and 144 to ground. The junction of resistor 140 to resistor 142 is coupled to a capacitor 56 in serieswith a primary winding 50p of a flyback transformer 50 by means of the series combination of a diode 158 and a resistor 156.

The operation of the blocking oscillator type horizontal oscillator stage 100 is described in detail in the publication SolidState Color Television published by R CA SalesCorporation, 600 N. Sherman Drive, Indianapolis,vlnd., and will not be described here. Oscillator 100 provides horizontal deflection output signals across winding 126 of transformer 120. These drive signals are applied to a horizontal output stage 25 by means of the coupling capacitor 152.

The operation of the deflection circuit 25 is described in detail in U.S. Pat; No. 3,452,244 assigned to the present 'assignee. The deflection circuit comprises a bi-directionally conductive trace switching means including a silicon controlled rectifier (SCR) 29 and a parallel coupled diode 30. The trace switching means couplesa relatively large S-shaping capacitor 37 across deflection winding 31 during the trace portion of each deflection cycle. Afirst capacitor 28 and a commutating inductor 26 are coupled between the trace switching means and. a "bi-directionally conductive retrace switch which includes a semiconductor device (SCR) 21 and a parallel coupled diode 22.-A second capacitor 27 is coupled from the junction of capacitor 28 and inductor 26 to ground. A B+ voltage supply is coupled to a relatively large supply inductor 23 which is further coupled to the junction of commutating inductor 26 and the commutating switching means 21, 22.

An output transformer 50 having a primary winding 50p is coupled across the combination of deflection winding 31 and capacitor 37 by a' capacitor 56 coupled between the low voltage terminal-on'the primary winding to ground. A high voltage winding 50]: provides voltage pulses to a high voltage multiplier 52. Multiplier 52 multiples the applied voltagetosupplyat its output, the ultor voltage which is coupled to a terminal 53 on kinescope 13. Having described the circuit, the operation of the inventionincluded therein follows.

Asthe trace interval of each deflection cycle is initiated, current flowing in yoke 31 is at a maximum value due to prior circuit action involving resonant energy exchanges between inductors '23 and 26, capacitors 27 and 28, the high voltage circuit and deflection winding 31. Yoke current at this time is in a direction illustrated by the arrow accompanying the symbol I in FIG. 1. At this time (the beginning of trace), damper diode 30 conducts to complete the yoke current path and current I, flows in a direction to impress a voltage of a po- Iarity shown in the diagram on capacitor 37.

' At the mid-point of trace, which corresponds to the. center of the scanned raster, the magnitude of current,

I has decreased to zero and SCR29 is triggered into conduction by means of a trigger circuit 24 which is supplied by a signal from a winding 23s on. an input reactor 23. Asthe second portion of the trace interval be;

gins, capacitor 37 supplies energy'tothe yoke and the current is in a'direction illustrated by thearrow accom- 'panying the symbol I, (he, opposite to the'direct'ion of 1,). 'SCR 29 completes the yoke current conduction pathsDuring the latter portion of the trace interval and prior to retrace, a signalfrom the horizontal oscillator 19 serves to trigger SCR 21 into conduction. This he,- gins a complex series of energy exchanges between the reactive components as explained in detail in U.S. Pat.

No. 3,452,244 citedabove which serves to interrupt the yoke current path at the. end of'the trace portion of the deflection cycleby turning ofl' SCR 29. As the yoke I current, which is at a'maximum value, is interrupted, the magnetic field associated with the yoke current begins to collapse producing a voltagepulse on a conductor 40 which is commonly referred to as the flyback pulse.- o v Thispulse which appears on conductor 40 is positive in the present circuit and occurs duringthe retrace in-' terval. At the end of retrace, the flyback voltage will start to swing negative. When diode 30 is operative,

however, the voltage at conductor 40 is prevented from going negative, since diode 30 conducts to clamp the voltage at approximately -0.7 volts. If for any reason diode 30 is not conductive, the flyback pulse willbe al- I lowed to swing negative, and the peak-to-peak input voltage to the high voltage multiplier 52 will-be nearlydoubled, thereby producing an ultor voltage of an undesirably high level. By adding a-diode158 and a resistor 156 between the horizontal oscillator and capacitor 56, however, the high voltage will be rising to an excessive level.

During normal circuit operation, tlie voltage across 4 v capacitor 56 varies as illustrated by the voltage waveform V shown by the waveform diagram adjacent capacitor-56. During the first portion of each horizontal trace interval (the period shown as T, the waveform diagram), a current I, flows in the direction shown'byprevented from Formula (3) establishes what must be the position x(n l of the movable part at the end of the nth interpolation cycle on the basis of the position xn at the beginning of this cycle.

Formula (2) establishes, on the basis of the position increment Dxn used'in the preceding interpolation cycle, what must be the position increment (speed) Dx(n l) to be used inthe present nth interpolation cycle.

As hx is constant, itis clear that formula (2) ensures that the section or segment x1 x: of the path is covered at a constant acceleration proportional to hx.

in this initial phase Tl, apart from (1), (2) and (3), which are interpolation operations proper, the following additional operations are carried out for the purpose of calculating data necessary for determining the instants when the changes of acceleration take place in the diagram of FIG. 2;

Operation (4) defines the value of the progressive distance travelled by the movable part from the beginning x1 of the present recilinear path segment to the end of the (n l)th interpolation cycle, this progressive distance Operation (5) defines the value'of a fictitious distance Pn equal to the aforesaid progressive distance n 1 E Dxn am :cl 1 increased by the last increment Dxn.

Operation (6) defines the value Rxn of the remaining distance which the movable part must still travel at the ment) Dxn has or has not exceeded the maximum permissible speed DxM.

Simultaneously, during this phase Tl, operations similar to (4), (5), (6) and (7) are carried out for the Y axis in the interpolating unit, these operations being obtainable from the operations (4), (5), (6) and ('7) by simply substituting the letter y for the letter x.

The initial phase T1 of constant acceleration terminates at the end of that interpolation cycle in which the inequality (7) has occurred for the axis X or for the axis Y. More precisely, the the phase Tl terminates at the end of that interpolation cycle in which, on the basis of formula (2), there has been calculated for the axis X or for the axis Y an increment Dxn or Dyn greater than the maximum permissible increment DxM or DyM. The last increments calculated (that is, the speeds reached) at the end of the phase Tl will hereinafter be referred to as DxnM and DynM respectively. It is to be noted that the final increments DxnM and DynM may exceed the maximum increments DxM and DyM by an amount not greater than the minimum increment hx and hy, respectively. That is, the phase T1 terminates when there has been reached either along the X axis or along the Y axis the maximum speed permissible for that axis. It sbould be noted that, depending on the inclination of the path with respect to the axes and on the possible diversity of the maximum speeds permitted for the two axes, it may happen that the inequality (7) occurs first for the X axis or for the Y axis.

At the end of the phase T1, the summation 2 Dam obtained on the basis of formula (4) represents the total distance xa x] which has been travelled along the axis X at the end of the interpolation cycle in which the maximum permitted speed has been reached or exceeded either along the X axis or alongthe Y axis. The distance xa yl therefore represents the distance which it has been necessary to travel in order to reach the maximum speed at constant acceleration.

The value PxnM of the fictitious distance Pnx, which corresponds to the distance xa xl increased in accordance with formula (5), is stored in a suitable register end of the (n l)th interpolation cycle to reach the final point x2.

at the end of the phase T1 and is preserved therein.

The initial phase T1 of constant acceleration is followed (FIG. 2) by the phase T2 of constant speed, during which the movable part continues its movement at a speed equal to DxnM for the X axis and to DynM for the Y axis, which is reached at the end of the phase Tl.

During this phase T2, the interpolating unit carries out the following operations:

Formula (3') is similar to formula (3), with the difference that the position increment in the successive interpolation cycles is now constant and equal to DxnM, whereby the speed becomes precisely constant.

Formula (6) has already been explained. inequality (8) is verified by comparing at each interpolation cycle the remaining distance Rxn which is still to be covered to reach the final point x2 with the fictitious distance PxnM stored in the register. The phase T2 of constant speed terminates at the end of the interpolation cycle in which the inequality (8) has occurred I for the first time.

The phase T2 of constant speed is followed (FIG. 2) by the phase T3 of constant deceleration, during which the movable part decelerates with the same absolute acceleration values (proportional to hx and hy, respectively, for the two axes) already used in the acceleration phase Tlout the following operations:

Dxn I am Operation (2')is similar to operation (2), apart from the sign of the speed increment hx.

The comparison operation (9) is used to establish, in the manner hereinafter explained, the end of the constant deceleration'phase.

Comparison (8) for establishing the start of the deceleration is made by considering the fictitious distance PxnM, suitably increased in the manner which has already been stated with respect to the distance travelled during acceleration, instead of considering exactlythis last-mentioned distance, because it is desired to guard against the possibility of the movable part arriving during deceleration at the final position x2, y2 with a speed different from zero and therefore continuing unduly beyond the arrival point P2. This contingency, which would be of no consequence in positioning arrangement of the point-to-point type, must be avoided here, since the entire path must be controlled, for example because it is traversed for the purpose of cutting a profile. It should be noted that, in order to avoid this contingency, it would not be sufficient to interrupt the interpolation and give a stop order 'to the movable part as soon as the distance x2 xn becomes less than the desired approximation, because it could happen that the speed reached during deceleration at that instant is still too high for the remaining space to be sufficient for stopping. Onthe other hand, in order to avoid this contingency, it is necessary, as has been done, to provide for the deceleration a distance equal to that travelled during acceleration plus an additional safety space sufficient for stopping, and since, during the phase T2 of constant speed, the coordinate xn increases by increments DxnM, this additionl space cannot be less than DxnM.

. equality (9). The comparison operation (10)produces Therefore, as the beginning of the phase T3 is determined by applying the comparison indicated by 8), that isas the deceleration begins as 'soon as the distance from the arrival point P2 is less than the distance travelled during acceleration plus DxnM, the movable part of the machine will have time to complete the decelerais interrupted before stopping occurs and replaced by a movement of approach to the final point P2 which is carried out at low speed. It would be possible to effect this movement of approach at constant speed until the remaining distance x2 xn (or y2 yn) reaches a limit value sufi'iciently low to guarantee the required accuracy of positioning and interrupt the interpolation at that point.

If, however, the speed of the movement of approach is chosen too low, too much time is lost. If, on the contrary, the speed is chosen too high, it may happen that the final point will be passed during the movement of approach. This last-mentioned drawback may occur both because the inertia of the movable part does not permit stopping in good time, once it has been verified that the residual distance x2 xn is less than the prede termined limit, and because the position increment Dxn effected during an interpolation cycle is greater than the required positioning accuracy, so that it may happen that in the course of a single interpolation cycle at the beginning of which the movablepart has not yet reachedthe final position with the required approximation, the movable part passes the final point itself without there being any possibility of becoming aware of such passing.

A better solution is that illustrated in FIG. 2, in which the movement of approach is split into two phases T4 and T5. 1

The phase T4 starts when the inequality (9) occurs. During this phase T4, the interpolating unitcarries out the following operations: v

x(n 1 =xn DJmf x2 xn 16pm Operation (3") produces the movement at constant speed, that is at constant position increments equal to the increment Dxnf reached at the end of the deceleration phase, that is reached on the first occurrence of ini the end of the phase T4.

Operation (3"' )produce's the movement at constant speed equal to hx/DT. The choice of this speed value, though not necessary, is convenient. The comparison operation (10") produces the end of the phase T and therefore also theend of the entire interpolation.

It is therefore clear that the phase T3 finishes when, during the deceleration, a sufficiently low speed is reached, for example, corresponding, according to (9), to a position increment lum effected during an interpolation cycle, and that the phase T4 finishes when the movable part has arrivedat a prefixed distance from the final point P2, said distance being, for example, l6 pm in accordance with formula and that the final phase T4 finishes when the movable part hasarrived, in accordance with (l0'),.at a distance from the final point less than the desiredv accuracy (which has been assumed tobe equal'to l um).

Once the movable part has been brought to a position less than 1 pm (required accuracy) from the final point, the interpolation is interrupted, as has been seen, and the movable part can be stopped and locked in position by any known means, for example a braking system or a mechanical clamp. Preferably, however, the movable part is held in position by the same positioning servo-mechanism fed with constant position orders. To this end, the position order may be either that constituted by the last coordinates calculated during the interpolation, orpreferably that constituted by the coordinates of the final point P2 which are supplied by the program unit. I

Apart from the case illustrated in FIG. 2, other cases may occur according tothe distance to be travelled between the points P1 and P2. FIG. 3 shows the case where the segment covered at constant speed VxM is missing from the speed diagram, since the conditions which produce the start of the deceleration phase occur before the acceleration phase finishes. The displacement of the movable part of the machine between the positions x1 and x2 therefore comprises an initial acceleration phase of duration T1, between the positions x1 and xa, at the end of which the speed reached is less than or equal to the maximum permitted speed, and an immediately following deceleration phase of duration T3, between the positions xa and xd; these phases are followed by the phases T4 and T5.at constant stepped-down speeds, in a similar manner to the case of FIG. 2. The position xa is determined by the occurrence of the start-of-deceleration condition (8) that is n a:2x n DIN.

or by the occurrence of the corresponding condition for the axis Y.

' FIG. 4 shows the case where the distance x2 x1 is greater than the limit 16 pm and such that (8) occurs while (9) is also valid at the same time; in these circumstances, there is an acceleration phase from x1 to xa, followed by a phase at constant speed Vxf with a constant increment Dxnf equal to the last increment Dxn of the acceleration phase. Thereafter, when operation- 10) has taken plase in the position xe, there'will be a phase from xe to x2 at constant speed Vxo with Dxn hx.

FIG. 5 shows the case where the difference x2 x1 is less'than 16 m. In these circumstances, the condition I0) is immediately realized and the movement between x1 and x2 therefore takes place at constant speed Vxo with Dxn hx.

It has therefore been seen what are the principles governing the interpolation operation.

The values DxM and DyM which are proportional to the maximum permissible speed for the movable part along the axes X and Y,'respectively, are supplied as data by the program unit in the .form of the digits KIV to KSV. The values hx and hy, w hich are proportional to the acceleration along the axes X and Y, respectively, during the constant acceleration and deceleration phases, are calculated, on the other hand, from the program data, in particular from the coordinates of the end points of each rectilinear path segment, taking into account, moreover, that they must always be less than the value coresponding to the maximum permissible acceleration along each axis. In a preferred embodiment, this maximum acceleration may be chosen from among a plurality of values, on the basis of the type of machine used and the type of machining carried out, as will be seen.

In the calculation of the aforesaid values hx and by which, in the constructional form described here, also correspond to the value of the minimum increment which the coordinates xn and yn, respectively, may undergo in an interpolation cycle, account is moreover taken of the angular accuracy with which it is desired that the rectilinear path be covered. it should be noted, in fact, that as the path is covered by means of an interpolation obtained by accumulating the position increments Dxn, Dyn, which in turn are multiples of the values hx and hy, respectively, any error in the initial calculation of hx and hy has the effect of causing a path to be covered which is still rectilinear, inasmuch as (l) continues to be observed, but is not quite properly inclined with respect to the axes X, Y, so that the final point of the path thus calculated by the interpolating unit will not coincide with the programmed final point.

If it is desired that the distance between the two final points should not exceed the maximum permitted inac-' curacy of positioning along each axis, it will be necessary to limit suitably the inaccuracy with which hx and by are calculated. 7

Assuming, for example,'that the maximum inaccua. their ratio is equal to (x2 xl)/(y2 yl), that is so that they also satisfy the equation (1);

b. the said values are determined with an accuracy sufficient to ensure the angular accuracy desired for the path;

c. the said values do not exceed the value corresponding to the maximum permissible acceleration;

the procedure hereinafter described is followed.

The quantities (x2 X] )H and (y2 y1)H are calculated, in which x2 x1 and y2 yl are expressed as pure binary numbers formed of 24 bits, so that their value is defined with an accuracy of 2*", which, as has been seen, ensures compliance with the condition b),

and in which H is a non-dimensional constant equal to yl)H are multiplied simultaneously and repeatedly by 2, until one of the two quantities reaches the value corresponding to the maximum acceleration.

It is clear that in the aforesaid successive multiplications 'by 2, the aforesaidquantities continue to satisfy the condition a). Moreover, they also continue to satisfy the condition b), provided that no binary digit is discarded in carrying out the successive multiplications. it is moreover clear that, by stopping the successive'multiplications at the moment that has been mentioned, the condition is observed.

In a preferred embodiment,-as shown in FIG. 6 the control device is fed by a program unit comprising a tape 1 carrying a recorded program, a tape reader 2 and a device 3 for varying the programmed speed of ad vance or feed. The control device comprises an interpolating unit 4 which is essentially a digital computer feeding a' digital-to-analog converter 5, which in turn feeds the servo-mechanisms 6, 7, 8 adapted to position the movable part along the axes X, Y and Z, respectively, assuming that the machine tool has three axes to be controlled.

The operation of the control device comprises a first period in which the program unit supplies to theinterpolating unit 4 the data hereinbefore described, that is the coordinates x2 and y2 of the final point P2 of the path, and the maximum speeds DxM and DyM at which the path is to be covered. During this period, the movable part is stationaryat the starting point P1 A second period follows in which, while the movable part still remains stationary and the program unit moreover remains inoperative, the interpolating unit 4 sees to the calculation of the values hx and hy (speed increments) on the basis of the principles hereinbefore set forthfA third period follows in which, while the program unit remains inoperative, the interpolation true and proper takes place. During this third period, the interpolating unit 4 is operative to control in real time the positioning of the movable part.

More particularly, the servo-mechanisms 6, 7, 8 are position servo-mechanisms, that is they are adapted, whena position order has been received, to bring the movable part into the position indicated in that order,

the speed and the instantaneous acceleration of the improvement being determined by the instantaneous value of the position error. More particularly, the servo-mechanisms and the manner in which they are fed by the digital-to-analog converter 5 are generally of the kind described in Joseph Elbling application Ser. No. 400,986, filed Oct. 2, i964.

"is therefore clear that the servo-mechanisms receive position orders at a rate dependingon the rate at which the interpolation cycles follow one another.

In one embodiment there is'provided for each displacement axis of the machine tool a separate digitalto-analog converter which is fed at its input by the digital signal processed by the interpolation unit and supplies an analog control signal at its output to a trans-' ducer controlling the movement of the movable part of the machine along the corresponding displacement axis.

If the transducer is a cyclic position measuring device, in order to position the movable part of the machine it is sufficient to specifydigitally the absolute po- 'relative displacement, expressed in electrical degrees,

between the fixed winding and the movable windings. Assuming that the pole pitch of the fixed windings is equal to 2 mm and, if it is desired to achieve for the positioning an approximation of 1 pm, the positions between 1 pm and 2 mm within each step will be expressible by means of the 10 least significant binary places of the number representing the value of the coordinate; the other more significant binary places of this number may be disregarded for the purposes of representing the position along the axis in question, inasmuchasthey only indicatethe number of complete steps of the position measuring device covered.

in another embodiment, if it is desired to reduce the number of digital-to-analog converters that are necessary, a single converter is used for all the'di'splacem'ent axes. In this case, itis necessary to transmit the information signals to the transducers relating to the various displacement axes by the time-division technique. That is, the axes are addressed'cyclicallyfor the transmission of the corresponding signals and, thereforefthe' 'infor-' mation signals relating to-the same in'stant'of time are distributed to the. various axes at successive times. This is shown symbolically in FIG. 6,-in which the? switches 9X, 9Y,' 92 are understood to be closed cyclically to feedthe digital-to-analog converter 5, and similarly the switches l0X,,l0Y, 10Z are understood to be closed cyclically to feed the servo-motors 6, 7, 8.

The considerations hereinbefore discussed for the case of only two displacement axes X and Y are imme- .diately applicable to the case of three displacement axes X, Y, Z.

' In particular, a relation similar to 1) must also exist between the coordinates am and zn; moreover, all the operations and comparisons hereinbefore examined in describing the interpolation will becarriedout on' the coordinate zn.

INTERTPOLATINGT UNIT j:

A complete description of theinterpola ting unit isi contained in our'earlier specification. Onl y the ideas necessary for understanding the subject matter of the present invention are recalled here.

The interpolating unit essentially-comprises a closed loop comprising a cyclic memory constitutedby a delay line, writing and reading registers connected vto the input. and output respectively of said delay line andan arithmetical unit connected between the registers. The delay line, for example of the magnetostrictive type, has a delay of, for example, 2.4 ms. More particularly, the memory is of the type described in Perotto and De Sandre application Ser. No. 701,193, filed Jan. 29, 1968, now US. Pat. No. 3,469,244 and is only briefly which have already been The interpolating unit moreover comprises a timing I device permitting the association with each bit issuing from the delay line of a special digit specifying the position of the bit within the store. The timing of the delay line is scanned by the timing device with a frequency oflMHz The delay line is'not completely filled by the bits circulating therein; there are pnly 2l60 bitsof information which it is necessary to record in the delay line and, at the nominal frequency of lMl-lz these occupy only 2160 as of the 2.4 ms corresponding to the actual delay length of the delay line. i

The timing device is activated from the first bit issuing from the delay line and, when it has counted all the 2160 binary places of the memory, a STOP signal is produced and stops the device.

For each axis X, Y, Z, the memory comprises 12 registers A, B, C, .N', each comprising 60 binary places DE00 DE59, defined in increasing order, in all prev cisely 3 X 12 X 60 2160 binary places. If a group of 12 bits of the same binary order belonging to the 12 registers, respectively, is considered, thesebits represent 12 binary digits of the. corresponding 12 digital quantities contained in said registers and are-recorded in series on thedelay ,line; anothergroup of 12 bits of the same binary order, representing the i2 binary digits of the immediately following order (higher or lower) of .DES9N. The three groups of 12 X 60 bits ordered in this way andreferring to the three axes are arranged the delay'line one after the other.

The manner in which the binary places of the various registers are specified will now be described in greater detail. l

A bit order counter counts from 1 to 60, energizing the signals DE00 to DE59 separately and successively. For each of the l2 registers of the memory, the signals DE00 to DE59 specify the lst, 2nd, .60th bit, that is the binary places from 0 to 59. I 1 i The places 'DE0l to DE056, specified by signals DE0l DE56', respectively, are tised to represent the digital values 2- pm to 2 um (that is, in decimal form, the values between l0 am and I07 pm), which enable all the positions between 1 pm and 10 m to be represented with the required approximation of 2 pm. Therefore, the position specified by D1533 corresponds to the value I am. it is therefore clear that all the quantities are represented in the memory registers by means of 56 bits.

All these 56 bits are processed in the arithmetical operations either of transfer or comparison carried out by the interpolating unit.

On the other hand, the'data introduced by the program unit consist of only 24 significant bits representing, in'the case where the data are coordinates, the values from I am tolO am. In the operations of introducing the data from the program unit into the store, the

said 24 bits are therefore introduced into the 24 binary places corresponding to the order of these bits, it being understood that the remaining binary places to the right and left of the 24 binary positions are filledwith bits equal to zero. Thus, for example (FIGS; 12 and 13), the 24 bits of x2 (which represent values between 1pm and-2"y.m) are introduced into the register D in the binary places DE33 to D1356. Similarly, the 24 bits of DxM, which represent values of the'maximum increment(maximum permitted speed) and-which respectively correspond to'the values 21mm to Z'.].|;m,,are 1 introduced into the register B (101) in the places DE20 to DE43, specified by the signals DE20 to DE43. I

It is also obvious that, in the case where the interpolating unit according to the invention is applied to the control of a machine tool, the speed range, represented by the range of the values of DnM, is excessive and, for normal uses, 14 significant bits in the places from 30 to 43 representing values of the maximum increment between 2* pm and 2' pm will be suflicient; assuming that the output of a coordinate xn from the interpolating unit takes place every 5 ms (period of the memory cycle), there will be obtained in correspondencegvalues of the speed which range between i .4;mr'nper.niin

ute and 12.288m perminute, which are sufficient for, all, normal purposes. Such valuesof-the maximum increment may also be expressed in decimalform by the use of five digits, as has already beenassum'ed in the, section giving-the general description. if

T he=place DE57 isused; to storethe sign mm;-

berQ- More precisely,as complements-are used in place the information in the store alternately-activates its" of negative binary numbers, this place will be used; to

distinguish a positive number from-a complemented number. i

The place DE58, specii'ed'by the signal DESB, is used to store carries.

The places 'DE59 and D200, specified bythe signals in the memory there'is first written all the information. relating to the axis X (in all 12 X 60 7.20 bits),

then that, relating to the axis Y (720 bits), then thatre-y lating to the axis Z (720 bits). in all, therefore, there are 2160 binary places inthe memory which are occupied for the three axes.

The bit order counter repeats thecount of the 60 hi nary places three times, once foreach address X, Y, Z. The times relating to the three addressesnare specified by signals INIC, NW and flNAL-respectively, which: are generated by another counter controlled by the bit order counter. I n

A counter controlled by thesignal timing the end of own outputs "61R! and vGIRl;-the period of the signal GIRIjis therefore equal to two circuits of the information along the delay line and this period characterises the duration of an interpolation cycle.

To the memory registers there correspond an. equal number of binary registers staticizing thewriting (atthe input of the line) and thereading (at the output of the line). Considering only eight memory registers A, B, C, D, E, F, l and L, as four of these: memory registers,

namelyAE. I and C, are specified by signals 1100,"

TI02, TI03 and Tl04, respectively, of the timing counter during a half-period in which G100 l while the other four memory registers (B, D, F and L) are also specified by the same signals T100, T102, T103 and T104, respectively, during the half-period in which G100 four binary staticizing registers are sufficient both for reading and for writing the memory data and, in one half-period they.function as registers denominated A, E, 1, C and, in the following half-period they function as registers denominated B, F, L, D (FIGS. 12 and 13).

It is therefore clear that the binary writing registers and the means associated therewith constitute a parallel-to-serial converter feeding the delay line, while the binary reading registers and the associated means constitute a serial-to-parallel converter supplied by the delay line. Therefore, seen from the external processing means, the delay line is equivalent to an assembly of four recirculating registers A, C, E, I in parallel plus another four recirculating registers B, D, F, L in parallel having their inputs and outputs in common with the first four registers, respectively, and out of phase with respect to the first four registers.

FIG. 12 relates to the arrangement of the various digital quantities in the store registers during the entering phase while FIG. 13 illustrates the arrangement of the digital quantities in the memory registers during the computation phase. r

The memoryregisters function in the folowing manner, referring to the axis, X.

During the interpolation (FIG. 13), the register A serves to store the value 2 Dxnobtained by operation (4), that is the progressive distance gm x1, for the whole acceleration phase T1, and thereafter to keep stored the value PxnM obtained on the basis of operation (5) at the end of the phase Tl. Into the register B (101) there is introduced, in the phase of introduction of the data from the program unit (FIG. 12), the maximum increment DxM (maximum permissible speed along the axis X). This value DxM is initially written in the binary places DE17 to DE40 of the register B and is thereafter shifted by three places so asto be written in the places DE20 to DE43, where it,is preserved unchanged until the program unit introduces another value or effects a modification thereof. Into the register C there is introduced in the phase of introduction of the data from the program unit (FIG; 12) the coordinate x2 of the final point P2, shifted however, by log, H 33 binary places towards the least significant places. The register C therefore comes to contain the quantity H x2 necessary for calculating the speed increment hx. Into the register D there is introduced, in the phas of introduction of the data from the program unit (FIG. 12), the coordinate x2 of the final point P2. This quantity is preserved unchanged in the register D throughout the interpolation for the purpose of permitting the execution of the operation (6) of calculation of the remaining distance to be traveled.

At the end of the interpolation of a path segment, the contents of the register D are transferred to the register L and are preserved there to be used as the initial coordinate x1 of the next rectilinear segment. Ithas been seen, in fact, that the program unitonly supplies the final coordinates of the rectilinear segments. v

The register E serves to contain the speed increment hx during the interpolation phase (FIG. l3).

The register F (100) serves to contain the quantity A; DxM during the entering and interpolation phases, this quantity being introduced directly from the program unit into the register F (100) in the binary places DE17 to DE40. The quantity A DxM is used to modify the maximum speed of advance or feed DxM, as will be explained hereinafter. I a

At the endof the interpolation phase (FIG. 12 the quantity H -x2 is transferred to the register I, this quantity having been contained in the, register C until that time. As a result of this transfer, the register 1 comes to contain the quantity H x1 validfor the next rectilinear segment to be covered, inasmuch as the final point P2 of a rectilinear segment coincides with the initialpoint P1 of the following rectilinear segment. This quantity H -x1 is preserved in the register I only for the time sufficient to permit the calculation of hx, which,as has been said, occurs before'the interpolation. During the interpolation (FIG. 13), therefore,-the register I is free to contain the increments Dxn as they are calculated.

The contents of the register L, into which, as has been said, the initial coordinate x] of the'following rectilinear segment to be covered is introduced from the register D at the endof the inter'polatiomare incre merited bit by bit during the interpolation, so that the register L contains bit by bitthe successive values of the instantaneous coordinate xn. It is therefore clear that the register'L is adapted to feed the servo-systems andis therefore the only memory register whose output is connected to the digital to analog converter.

In FIGS. 12 and l3,the broken lines relating tothe registers B, C andD represent that group of 24 adjacent binary spaces from amongthe 56 binary places of each register into which the relative datumis intro duced from the program unit, while the brokenlines relating to the registers F, I and L, represent the. 24 "adjacent binaryplaces to which the data contained in the registers B, C and D, respectively, aretransferred. The functions and contents of the registersrelating to the axes Y and Z are similar. I

As already hereinbefore stated, each interpolation cycle comprises two memory cycles, one distinguished by the presence of the signal GIRI and lhe other distin-. guished by the presence of the signal GIRI. The first of these memory cycles is used, for the logical comparison operations (operations (7), (8), (9), (l0) and (10') which define the end of the phases T1, T2, T3, T4, and T5, respectively), while the second of the memory cycles is used for the computation operations which define the speed and acceleration in each of the phases of the movement. Therefore, in the first memory cycle,

the changes of acceleration are decided by means of the comparison operations while in the second memory cycle the computation of'theposition increment relative to the interpolation cycle is performed on the basis of the decisions 'made. V

Program Unit 1 i No. 575,802 to which reference should therefore be made.

The device 3 for varying the feed speed which forms the subject matter of the present invention will now be more particularly described. The device 3 permits the modification, by means of a switch, of the feed speed of the movable partof themachine along the relevant axes, which is programmedvby tape or by means of the manual entering device.

The embodimentihereinafter described relates to the case where the possible variations of speed range between 12.5 percent. and 100 percent, in seven jumps each of 12.5 percent. For simplicity, there will more the occurrence of the condition (8), which produces a deceleration order and the beginning of the phase T3, excludes the possibility of setting variations in speed.

Finally, it isobserved that the setting of a variation in the feed speed causes a modification of the phase T2 of the movement and shifts the limits of the initial acceleration phase T1 and of the final deceleration phase T3, while leaving the values of the speed increments along the axes (hx, hy, hz) in the phases T1 and T3 unchanged. a

FIG. 7 is a speed diagram along the axis X between the coordinatepoints x1 and x2, respectively. If VxM is the maximum value permittedby the program for the However, also with the aforesaid limitation, the case of increase of the programmed feed speed may be taken into consideration where this is intended as an operation following a preceding reduction.'The 0 percent position of the switch will correspond to stopping of the feed of the machine;- l I a 7 Since, in each rectilinear section or segmentof the path of the movable part of the machine, the feed speed along the axes assumes the value VM programmed as has been hereinbefore described, when the switch for setting the change in speed is shifted during the machining operation from the 100 percent position to anto the indication given by the switch '(75 percentof the programmed, speed). I

If, therefore, the switch is shifted during the machining process, the machine reaches the new speed that has been set with controlled acceleration and deceleration. Thus, the operator is afforded the possibility of in tervening during the machining to fix'a feedspeed suit-- able for the working operations in progress. I

' FIGS. 7, 8, 9 and 10 show various possible cases of varying the programmed feed speed along a rectilinear displacement segment from P] to P2 (FIG. 1), according to the phase of the movement atwhich the variation of speed intervenes and according to the sign of the variation. The above-mentioned drawings all relate to the displacement axis X. t

It is necessary to make clear that there is only one variation in speed set for all the axes and that this variation acts on all the axes and modifies the values DxM,

DyM, D zM (maximum permissible increments) supplied by the program by the same, percentages. 7

Moreover, in each rectilinear path segment of the movable part, it is possibleto set variations of speed only during thephase Tl (uniform acceleration) and illustrates the case in which the'change of speed is f feed speed along the axis in the path segment between x1 and x2, if k 1 represents the percentage value set on the speed varying switch, kVxM will represent the new maximum value of thefeed speed (lessthan the programmed value).

. Assuming that the change of speed is effected before the acceleration phase T1 is terminated, the diagram shown by a solid line in FIG- 7 will be obtained. The broken line represents that part of-the diagram which is excluded with respect to the normal case by means of the change of speed By comparison with the normal case of programmed speed (hereinbefore described with reference to FIG. 2),.it. is observed that the acceleration phase Tl is reduced, inasmuch as it terminates at thecoordinate point xa' xa)'at which the new feed speed kVxM is reached; the constant speed phase T2 is extended, inasmuch as it begins earlier and terminats atthe coordinate point xv xv); finally, the constant deceleration phase T3 is reduced, inasmuch as it be. gins at the coordinatepoint 'xv xv (Phases T4 and T5 are omitted from FIGS. 7 to 10 for simplicity.)

I The solid-line diagram of FIGS, on the other hand,

fected inthe course of the constant-speed phase by setting a percentage k' I), which produces the new value k'VxM of the maximum feed speed (this value being greater than-the programmed value VxM). As

- soon as the setting'of the speed variation has been efthe phase T2 (constant speed) of the movement, while fected, the movement will resume acceleration in correspondence with the coordinate xb reached at' that iiistant, with a constant speed increment equal tojthat'of the phase Tl, until the new maximum perlmitted, speed k'VxM is'reachedin correspondence with the coordi tions united by an intermediate constant-acceleration section, while the phase T3" is extended with respect to the normal programmed case, inasmuch as it begins at thepoint xv" xv). I Y The solid-line diagram of FIG. 9 illustrates another case in which the change of speedis again effected 'in the course of the constant-speed phase by means of the setting of a percentage variation kf( l) which produces the new value kVxM of the maximum feed speed (this value being less than the programmed value VxM); As soon as the setting of the speedvariation has been effected, themovement' begins to'dec elerate in correspondence with the coordinate xf reached at'that' instant with a constant speed increment equal to the increment during the phase T1, until the new maximum permitted speed kVxM is reached in correspondence with the coordinate xg; the movement thereafter coninasmuch as it begins at the point xv xv). More precisely, during the .phase of movement between the of which represents a binary place of a particular bi nary code. A binary representation therefore corresponds to each of the eight positions of the switch 11 on the three output channels. A cyclic binary code (Gray code) has been adopted which makes it possible to pass from one configuration to the following configuration by modifying the preceding configuration by a points xf and xg (phase T2'), the deceleration brings the speed of movement below the value kVxM'by an amount not greater than the minimum increment hx,

and the speed of movement thereafter rises again to reach the value kVxM.

The solid-line diagram of FIG. 10 illustrates another 'case in which two variations of speed are effected in succession during the constant-speed phase by setting first the percentage variation 1: i) and then the percentage variation k 1). The diagram of FIG. 10.is therefore the result of a combination of the diagrams of FIGS. 8 and 9 and the observations relative to these last-mentioned drawings are directly applicable-to the case of FIG. 10.

It has been seen hereinbefore that, during the phase.

of introduction of the data of the recorded'program into the memory, the value D.rM,which characterises the feed speed is introduced into the memory register- B (101 while the value A; DxM'is introduced into the register F (100). The value DxM serves as a comparison term for establishing on thebasis of operation (.7) the end of the acceleration phase T1 and the beginning of the cOnstant-Speedphase'TZ. The value kDxM is used as increment'for modifying the contents of the register B by means of repeated addition or subtraction operations. It will be evident that other increment values can be used than A; D tM, resulting in storage in register F (100) of the value l/n DxM, where his a predetermined number.

The device for varying'thefee'd speed operates in synchronous fashion with the interpolator once the speed variation has been set. More precisely, since each interpolation cycle 'is composed of two memory. cycles, one devoted to comparison operations and .the

other devoted to computation operations, the device for varying the feed speed operates by incrementing the speed DxM in successive steps each comprising two memory cycles, one devoted to the scanning of the sign of the required incrementation'andfthe other devoted to the incrementation to $6 DxM.

The switch permitting'the setting of a percentage value kof the programmed feed speed DxM operates in jumps, each jump corresponding to a variation equal to DxM. Therefore, if q indicates the number'of jumps ofthe switch from the normal position to the po-' sition marked by the percentage k, the state which must be achieved in the register B (101) after q incrementation steps is as follows:

kDxM DxM q A; DxM.

of Dx'M by an increment equal single bit and this eliminates'any uncertainties in the interpretation of the configurations preset by the switch. v v

The code preset by the switch 11 is transferred, if the consents COAV and 'lNlC exist, into a register l2 comprising three binary stages. The consent signal is supplied by'a flip-flop 16 which is deenergized at the beginning of the phase of introduction of the speed from the program recorded into the memory (signal SEVE) and at the beginning of the deceleration phase (signal ORDE). r a

A counter 14 counts in eights counts by activating its three outputs 18 with the same code as is used by the switch 11. During the time specified by the signals IMF and GlRl of,the timing counter of the interpolator, the counter 14 receives eight pulses TlGl and therefore explores all its configurations;

The counter 14 is zeroized both by the general zeroi zation signal RESE andby the signal SEVE (in the presenceof GIRl which characterizes the-phase of in troduction of the speed into the memory! of the counter 14 feed a logic network l3 which conditions an'addcr l5 and the counter 14. 1

The structure and the operation of the speed varying device shown diagrammatically in FIG. 11 will now be described in greater detail. An eight-position switch 11 enables eight percentage values k of the programmed feed speed to be set. The switch has three selectively activated'output channels VELl, VELZ, VEL4, each acts on the adder l5 and on the, counter The adder 15 can be connected the registers-B (101) and F of. the memory of the interpolator through the corresponding reading registers and the connections RLB and RLF, respectively, and is adapted to feed the memory register B through the connection RSB and the corresponding writing register;

The logic network 13 effects a comparison between the code configurations at the two groups of inputs l7 and'l8 and, according to the result ofsaid' comparison,

nerhereinafter explained. v 4 As has been said, during the time specified by the signals lNIP and GIRI of the timing counter of the memory, the counter 14 receives eight pulses and its outputs assume all the successive binary configurations of the code. During this operation, these three cases may occur: a

a. the final configuration of the outputs 18 of the counter 14 coincides with that-of the outputs 17 of the register 12; in this case; the flip-flops l9 and 20 contained in the logic network 13 (FIG. 11) are zeroized by the signal ORVO (coincidence of the two binary configurations) and the signals C080 and 'ADDl are therefore absent (that is,COSO 0, ADDl 0");" b. the final configuration of the outputs 18 of the counter 14 is difi'erent to that of the outputs 17 of the register 12, so that the flip-flop 19 is energized by the signal ORVO (non-coincidence of the two binary configurations),in the time specified by the signal INAZ,

that. is the signal C080 is activated; moreover, during the counting cycle of the counter 14, coincidence of the two binary configurations first occurs, so that the signal ORVO is activated, and thereafter the passage of thecounter through the zeroiz ing configuration occurs, whereby the signal SEAD is activated. Consequently, the flip-flop 20 is first zeroized by the signal ORVO and 14 in the man-v then energized by the signal SEAD, as a result of which,

at the end of the colinting cycle of the counter 14, the output ADDl of the flip-flop'20 is activated. That is, in this case, COSO 1 ADD] 1"; t

c. the final configurationfof the outputs l8of the counter is different'ito thatof the outputs 17 of the register 12, as a result o f whiclnthe flip-flop 19 of the logic networkpl3 is energized thesignal ORVO (noncoincidence of thel-tWO bi ary configurations) in the time specified by the signal lNAZ, that is the signal C080 is activatedg moreover, during the counting cycle or the counter 14,? the passage of the counter through the zeroiiirig configuration firstuoccurs, as a result of which thelsignal SEADis activated, and thereafterthe coincidenbe of the two binary configurations ORVO, asa result of which, at the end of the counting cycle of thecounter 14, the output ADDI 'of the flip- Hop 20 is deactivated. Thatis, in this case, COSO ,1 "i u0ni v I when COSOff 1" (in the presence of GlRl, lNAZ andDEIO), the'sig'nal STRO is produced, which causes 'asupplementary counting'in the counter 14 by one step forward or onestep backward, accordin'g-to whether AD Dll= l (forward counting signal ADlN)or ADDl 0 (backwardfcounting signal SOlN).'Moreo'ver, if COSO ,1, during the .memorycycle in which GIRl movable part of the machine along the three axes accelerates until the new maximum speed is reached.

- If,;on the other hand, the signal SOIN is present and the counter 14 therefore counts backward by one'step at each supplementary counting signal (in each interpolation cycle), the value of thespeed stored inthe register B (101) gradually decreases; Moreover,-theflipflop 21 of the logic network 13 (FIG. 11) is energized, inasmuch as underthese conditions the signal VECO is necessarily present, this signal appearing as soon as condition 7 is realized, and therefore at the output of the flip-flop the signal SEPI, which controls the deceleration. in the control device," is activated. Consequently, the movement of the movable part of the machine along the three axes decelerates until the "signal VECO appears in correspondence with the cancella- Of the adder 15 is enabled to carry out" the following operations: a t

' DxMilrsDxMi I DyM it DyM- V, "'jl zM 2% DzM I g in which the values DxM,*DyM, DzM are" the maximum feed speeds storedin the registers B (101) of the three axes from the program, while /6 DxM, Vs DyM, %DzM are fractions of the values of said "maximum speeds stored in the registers F' (100) of the three axes during the entering of the program, ashasalready been explained hereinbefore.

Therefore, the maximumfeed speed contained in the memory register 8 of each axis increases or decreases with increments equal to is of the" programmed value during each interpolation cycle (in the rnemory cycle in which Gill! 0), every time C080 1".

For this reason, on shifting the switch ll by a certain number q of po'sitionsyit is necessary that the counter 14 receives thesame number q of "supplementary counting signals made possible by STRO atthe end of a counting cycle, before coincidence of the final configuration of the counter 14 with that of the register 12 reoccurs. Moreover, since an operation of incrementation of the maximum value of the feed speed contained in the memory register B (101) is carried out at each supplementary counting signal, after q incrementations, that is after q interpolation cycles, a speed value equal to that set onthe switch 11 will be obtainedinthe register B. v r

, lflthe signal'ADlN is presentandthe counter 14 therefore counts forward by one step-at each supplementary counting signal (in each interpolation cycle), the value of the speed stored in the register B (101) increases gradually and therefore, the movementofthe tion of condition (7); the signal VECO deene'rgizes the flip-flop 20 and therefore clears the deceleration signal SEPl. Thereafter, a brief acceleration is performed in an interpolation cycle until the signal VECO is caused to reappear and then controls the movement at constant speed.

Finally, it should benoted that if,"for a given'axis, a

5 new speed'is entered in the memory from the program when a percentage variationo'f'the speedprogrammed' for the three axes has already been effected, the register l2 remains blocked in the preceding configuration (in fact the presence of SEME causes the deactivation of AVAC and the counterld is zeroized. The modify.- ing operations are thereafter-carried out, according to the percentagelentered in the registerl2,'only on the new speed entered, the operations for theother axes, for which the speed stored alreadycorrespond's to that indicated by theregister I2', being suitably blocked,"

It will be understood that numerous modifications in the hereindescribedembodiment'of the invention are possible. Accordingly, the invention is not tovbe limited to that embodiment, but'rather only by thescope of the appended'claims. a it 1; I What we claim is: 1 7 I v 1. in a control device for positioning a movable part, a meansfor controlling the speed of positioning utilizing a machine readable program for controlling the movement ofsaid part, said program including a firs t value representative of a maximum permissible speed and a second value representative of a fraction, less than'unity, of. said maximum permissible speed, said means comprising: a f

means for reading said program including means for entering said first and second values in to firstand second storage areas, respectively, p 7 means for algebraically adding said second value to. said first value a predetermined number of times in order to increaseor decrease" said first value, said means for adding comprising: i manually settablemeans for setting said means for adding to the value corresponding to saidpr'edetermined number of times. v 2. ha control device for positioning a movable part 1 along at least one axis, a programmed means for constorage means connected to said input for storing said maximum speed value, a

means for altering said maximum speed value, commachine part from a first point to a second point, comprising: prising: I manually controllable speed varying means for indiinterpolating means providing signals for controlling eating a desired altered maXimum spee a ue, I the movement of said machine part comprising first recirculating counter means for indicating a plurali y 5 register means for storing a value corresponding to o Possible altered, maximum Speed lu a maximum permissible speed of said movable map means connected between Said speed chine part and second-register means for storing a Varying means and Said recirculating counter value corresponding to afraction less than unity of means for comparing the outputs of the latter two Said maximum permissible speed eleme'ms l l0 first input means connected to said interpolating algelralc addmg means to an output of means for transmittingthereto signals correspondsald comparator means for increasing or decreasing to Said maximum speed value and said f ti ing said maximum speed value in said storage means depending on the result of said comparison, said adding means being connected to said storage means. 1 3. In a device for controlling the positioning of a movable element, apparatus for controlling the speed of movement of said element, comprising:

algebraic adder means having a first input and a second input and an output, first and second storage registers, said first storage register having an output connected to said first adder input, said second register having an output connected to said second adder input, and said first register having an input connected to said adder value for entering said values into said first and second registers, respectively, second input means connected to-said interpolatin means in parallel with said firstinput means for altering said maximum speed value stored in said first register, 7 said second input means comprising:

manually operable means for entering a numerical value representative of a speed different from said maximum speed, 4 a recirculating counter means for producing value corresponding to a plurality of possible speeds, means for algebraically adding the contents of said second register to'the contents of said first regis first iiiput means connected to said first and second m Order to f i F e the "f of registers for entering a first value corresponding ,to coll-{ems of said first 8 ll l h maximum permissible speed f Said movable the relative values of the contents of said first and element and a second value corresponding toa pre- Second g rs, and determined fraction less than unity of said maximeans for comparing the p of Said l mum rmi ibl d, id fi d. second lentering means and said counter, said comparing ues being entered into said first and second regismeans including Output ans o activating Said ters, respectively, and I 3 5 adding means and means for altering the numerimanual input means for activating said adder to alge- Cal indication of Said counter, the t e Of said 36- braically add said second value to said first value tivating output means and said alteri g m ns and place the result of said algebraic addition into being determined by the relative values of said said first register while leavingsaid second value in outputs of said manual entering means and said said second register unaltered. l 40 counter.

4. Apparatus for controlling the feedofa movable if I 

1. In a control device for positioning a movable part, a means for controlling the speed of positioning utilizing a machine readable program for controlling the movement of said part, said program including a first value representative of a maximum permissible speed and a second value representative of a fraction, less than unity, of said maximum permissible speed, said means comprising: means for reading said program including means for entering said first and second values in to first and second storage areas, respectively, means for algebraically adding said second value to said first value a predetermined number of times in order to increase or decrease said first value, said means for adding comprising: manually settable means for setting said means for adding to the value corresponding to said predetermined number of times.
 2. In a control device for positioning a movable part along at least one axis, a programmed means for controlling the speed of movement of said part, said program including the maximum speed value for said movable part, comprising: input means for reading said program, storage means connected to said input for storing said maximum speed value, means for altering said maximum speed value, comprising: manually controllable speed varying means for indicating a desired altered maximum speed value, recirculating counter means for indicating a plurality of possible altered maximum speed values, comparator means connected between said speed varying means and said recirculating counter means for comparing the outputs of the latter two elements, and algebraic adding means connected to an output of said comparator means for increasing or decreasing said maximum speed value in said storage means depending on the result of said comparison, said adding means being connected to said storage means.
 3. In a device for controlling the positioning of a movable element, apparatus for controlling the speed of movement of said element, comprising: algebraic adder means having a first input and a second input and an output, first and second storage registers, said first storage register having an output connected to said first adder input, said second register having an output connected to said second adder input, and said first register having an input connected to said adder output, first input means connected to said first and second registers for entering a first value corresponding to the maximum permissible speed of said movable element and a second value corresponding to a predetermined fraction less than unity of said maximum permissible speed, said first and second values being entered into said first and second registers, respectively, and manual input means for activating said adder to algebraically add said second value to said first value and place the result of said algebraic addition into said first register while leaving said second value in said second register unaltered.
 4. Apparatus for controlling the feed of a movable machine part from a first point to a second point, comprising: interpolating means providing signals for controlling the movement of said machine part comprising first register means for storing a value corresponding to a maximum permissible speed of said movable machine part and second register means for storing a value corresponding to a fraction less than unity of said maximum permissible speed, first input means connected to said interpolating means for transmitting thereto signals corresponding to said maximum speed value and said fraction value for entering said values into said first and second registers, respectively, second input means connected to said interpolating means in parallel with said first input means for altering said maximum speed value stored in said first register, said second input means comprising: manually operable means for entering a numerical value representative of a speed different from said maximum speed, recirculating counter means for producing values corresponding to a plurality of possible speeds, means for algebraically adding the contents of said second register to the contents of said first register in order to increase or decrease the value of the contents of said first register depending on the relative values of the contents of said first and second registers, and means for comparing the outputs of said manual entering means and said counter, said comparing means including output means for activating said addIng means and means for altering the numerical indication of said counter, the state of said activating output means and said altering means being determined by the relative values of said outputs of said manual entering means and said counter. 